package cn.zhqr.lib.utils;


import cn.zhqr.lib.bean.UserInfo;
import cn.zhqr.lib.exception.PermissionDenyException;

/**
 * Created by charles on 2019/3/7.
 */
public class PermKit {
    /**
     * 是否拥有指定的角色中的至少一个
     * @param roles
     * @return
     */
    public static void hasAnyRole(UserInfo userInfo, String... roles){
        if(userInfo==null || !userInfo.hasAnyRole(roles)){
            throw new PermissionDenyException();
        }
    }
    /**
     * 是否拥有指定的所有角色
     * @param roles
     * @return
     */
    public static void hasAllRole(UserInfo userInfo,String... roles){
        if(userInfo==null || !userInfo.hasAllRole(roles)){
            throw new PermissionDenyException();
        }
    }
    /**
     * 是否拥有指定的权限中的至少一个
     * @param perms
     * @return
     */
    public static void hasAnyPerm(UserInfo userInfo, String... perms){
        if(userInfo==null || !userInfo.hasAnyPerm(perms)){
            throw new PermissionDenyException();
        }
    }
    /**
     * 是否拥有指定的全部权限
     * @param perms
     * @return
     */
    public static void hasAllPerm(UserInfo userInfo,String... perms){
        if(userInfo==null || !userInfo.hasAllPerm(perms)){
            throw new PermissionDenyException();
        }
    }
}
